package com.lxp.kotlintest.base

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.View
import com.classic.common.MultipleStatusView
import com.lxp.kotlintest.MyApp

abstract class BaseActivity : AppCompatActivity(), View.OnClickListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        //加载布局
        try {
            setContentView(bindLayout())
        } catch (e: Exception) {
        }

        //初始化参数
        initParms(intent.extras)

        //初始化控件
        initViews()

        //业务处理
        doBusiness()

    }

    override fun onClick(p0: View?) {
        widgetClick(p0)
    }

    /**
     * 绑定布局文件
     */
    abstract fun bindLayout(): Int

    /**
     * 获取参数传递
     */
    abstract fun initParms(parms: Bundle?)

    /**
     * 初始化控件
     */
    abstract fun initViews()

    /**
     * 业务处理
     */
    abstract fun doBusiness()


    abstract fun widgetClick(v: View?)


    override fun onDestroy() {
        super.onDestroy()
        MyApp.getRefWatcher(this)?.watch(this)
    }


}